#
# This file is a part of the open-eBackup project.
# This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
# If a copy of the MPL was not distributed with this file, You can obtain one at
# http://mozilla.org/MPL/2.0/.
#
# Copyright (c) [2024] Huawei Technologies Co.,Ltd.
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
#

from enum import Enum


class DwsErrorCode(int, Enum):
    # 用于未知错误，可以表示暂时没有申请的错误码
    UNKNOWN_ERR = -1
    NO_ERR = 0
    # 集群用户不存在
    USER_NO_EXIST_CLUSTER = 1577209978
    # 环境变量文件路径错误
    USER_AUTH_ENV_PATH_ERROR = 1577209979
    # 选择的节点不属于同一集群
    SELECT_CLUSTER_NODE_NO_BELONG_SAME_CLUSTER = 1577209981
    # 侵入式未选择所有节点
    CHECK_NEED_ADD_CLUSTER_NODE_OR_HOST_AGENT = 1577209983
    # 8.0.0版本不支持选择代理主机
    CHECK_IS_NEED_HOST_AGENT = 1577209984
    # 注册集群时，选择的集群节点中没有CN实例。
    NO_CN_INSTANCE_IN_SELECT_CLUSTER_NODES = 1577210044
    # 已注册的集群节点中没有CN实例
    NO_CN_INSTANCE_WHEN_BACKUP = 1577210045
    # roach_client进程未启动
    ROACH_CLIENT_PROCESS_NOT_EXISTS = 1577210011
    # 数据库中表的个数为0
    NO_TABLES_IN_DATABASE = 1577210013
    # 集群处于非正常状态，无法查询数据库的schema列表
    CANNOT_QUERY_SCHEMA_WHEN_CLUSTER_STATE_UNNORMAL = 1577210015
    # 对元数据存储路径没有权限
    NO_PERMISSION_IN_METADATA_PATH = 1577210046
    # GDS进程未启动
    GDS_PROCESS_NOT_EXIST = 1577210016
    # 数据库不存在
    DATABASE_NOT_EXISTS = 1577210047
    # 拓扑图不存在
    CHECK_TOP_FILE_FAIL = 1577210109
    # 集群状态balanced不正常
    CLUSTER_STATE_NOT_BALANCED = 1577210110
    # 没配置代理主机与存储的映射关系
    NO_SOURCE_DELETE_CFG = 1577209976
    # GDS进程数小于备份文件系统个数
    GDS_CNT_NOT_MATCH = 1577213449
    # GDS进程绑定了相同的数据目录
    GDS_BIND_SAME_DATA_DIR = 1577213450
    # GDS进程启动用户不一致
    GDS_START_USER_NOT_SAME = 1577213451
    # 目标恢复数据库不存在
    NO_RESTORE_TARGET_DATABASE = 1577213452
    # 执行数据库恢复操作时，由于生产环境上待恢复的数据库中表数量为0，操作失败。 原因：  生产环境上目标数据库（{0}）中表数量为0。
    NO_RESTORE_TARGET_TABLE_DATABASE = 1577213454
    # 执行数据库-schema恢复操作时，由于生产环境上不存在待恢复的schema，操作失败  原因： 生产环境上不存在待恢复的schema（{0}）
    NO_RESTORE_TARGET_SCHEMA_IN_DATABASE = 1577213455
    # 执行schema恢复操作时，由于生产环境上schema依赖的数据库中表数量为0，操作失败
    # 原因: 生产环境上schema依赖的数据库（{0}）中表数量为0。
    NO_RESTORE_TARGET_TABLE_IN_SCHEMA_DATABASE = 1577213457
    # 备份副本中不存在表
    NO_TABLE_IN_COPY = 1577213453
    # schema级恢复依赖的数据不存在
    NO_RESTORE_SCHEMA_DATABASE = 1577213456
    # 备份子任务失败
    SUB_JOB_BACKUP_FAILED = 1577213461
    # 执行Roach命令失败，恢复失败
    ROACH_RESTORE_CMD_EXEC_FAILED = 1577213461
    # 执行备份操作时，由于roach_client进程监听的端口不一致，操作失败。
    ALL_ROACH_CLIENT_PORT_NOT_SAME = 1577213448
    # 执行表级备份操作时，由于待备份的所有表都不存在，操作失败。
    ALL_TABLE_NOT_EXIST = 1577213447
    # 执行Schema备份操作时，由于待备份的所有Schema都不存在，操作失败。
    ALL_SCHEMA_NOT_EXIST = 1577213446
    # 启动集群失败。
    START_CLUSTER_FAILED = 1577213445
    # GDS备份恢复时，代理主机导出数据失败
    GDS_EXPORT_DATA_FAILED = 1577209865
    # TABLE_DEPEND_SCHEMA_NOT_EXISTS 执行表恢复操作时，由于生产环境上表依赖的schema在数据库中不存在
    RESTORE_SCHEMA_NOT_EXIST = 1577213472
    # 集群已有另一个备份任务正在运行。
    ANOTHER_ROACH_BACKUP_IS_RUNNING = 1577213596
